(function ($) {
//
// Справочник модификаций моделей
//
    function ModifDictionary(area_id) {
        var mdiv = area_id+'Tab';
		var area = $('#'+area_id);
		
        area.css({'overflow':'hidden'})
        area.html('<table id="'+mdiv+'"></table>');

        var el_model_id;
        var gritab;
        var col_order = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
        var col_names = ['ID', 'Модель', 'Полное название', 'Нач.выпуска', 'Кон.выпуска', 'Мощ.кВт', 'Мощ.л.с.', 'Объем к.см',
                            'Кузов', 'Тип двигателя', 'Топливо', 'Констр.', 'Груз.' ];
        var col_model = [
		    { name: 'id', index: 'typ_id', hidden: true, width: 50, editable: false, fixed: true },
            { name: 'typ_model_id', index: 'typ_model_id', hidden: true, width: 50, editable: false, 
              searchoptions: { searchhidden: true, dataInit: function (el) { el_model_id = el; }}},
		    { name: 'full_name', index: 'full_name', hidden: false, width: 230, editable: false },
		    { name: 'pcon_start', index: 'pcon_start', hidden: false, width: 100, editable: false },
            { name: 'pcon_end', index: 'pcon_end', hidden: false, width: 100, editable: false },
            { name: 'kw_from', index: 'kw_from', hidden: false, width: 80, editable: false },
            { name: 'hp_from', index: 'hp_from', hidden: false, width: 80, editable: false },
            { name: 'ccm', index: 'ccm', hidden: false, width: 100, editable: false },
            { name: 'body_des', index: 'body_des', hidden: false, width: 150, editable: false },
            { name: 'engine_des', index: 'engine_des', hidden: false, width: 150, editable: false },
            { name: 'fuel_des', index: 'fuel_des', hidden: false, width: 100, editable: false },
            { name: 'axis_des', index: 'axis_des', hidden: false, width: 70, editable: false },
            { name: 'max_weight', index: 'max_weight', hidden: false, width: 70, editable: false }
        ];
        var jqgo = {
            url: 'callbacks.php',
            editurl: 'callbacks.php',
            datatype: 'json',
            postData: { source: 'ModifDictionary', oper: 'page', model_id: '' },
            emptyrecords: true,
            autowidth: false,
//		    scrollOffset: 22,
            gridview: true,
            hidegrid: false,
            hoverrows: true,
            recordpos: 'right',
            scrollrows: true,
            mtype: 'POST',
            colNames: col_names,
            colModel: col_model,
            page: 1,
            rowNum: 1000,
            rowList: [1000, 2000, 5000],
            //		    viewrecords: true,
            loadui: 'disable',
            filterbar: false,
            height: 'auto',
            width: area.innerWidth() - 2,
			shrinkToFit: false,
            sortname: 'full_name',
            sortorder: 'asc',
            sortable: true,
            caption: '',
            loadError: function () {
                alert("Ошибка загрузки даных");
            },
            loadComplete: function (data) {
                switch( data.userdata.errcode ) {
                    case 0:
                        if ($.browser.msie || $.browser.webkit) {
                            $('#' + mdiv + ' tr.jqgrow td').height(21);
                        }
                        break;
                    case 999:    
                        alert(data.userdata.errmess);
						app.customer = { uname:'', cust_id:0 };
                        document.location = 'index.php';
                        break;
                    default:
                        alert( data.userdata.errmess );
                        break;
                }                
            }
        };

// Создадим jqGrid
        gritab = $('#' + mdiv).jqGrid(jqgo);

        gritab.filterToolbar({ searchOnEnter: false, afterSearch: function () { } });
        gritab[0].toggleToolbar();
		
		$(window).resize( function() {
			gritab.setGridWidth( area.innerWidth() - 2 );
			gritab.setGridHeight( area.innerHeight() - 25 );
		} );
		
// ToolBar - АвтоЗаполнение марки
        this.ShowData = function( mod_id ) {
                $(el_model_id).val(mod_id);
                gritab[0].triggerToolbar();
        };
        this.Resize = function() {
			gritab.setGridWidth( area.innerWidth() - 2 );
			gritab.setGridHeight( area.innerHeight() - 25 );
		};
		this.Destroy = function() {
			gritab.GridDestroy(mdiv);
			area.find('*').remove();
		};
    };

	function ModVarProxy() {
		var TabsOb;
		this.Open = function( area_id ) {	TabsOb = new ModifDictionary( area_id ); };
		this.Close = function() { TabsOb.Destroy(); };
		this.Resize = function() { TabsOb.Resize(); };
		this.ShowData = function(model_id) { TabsOb.ShowData( model_id ); };
	}
	
	app.ModVar = new ModVarProxy();
	
})(jQuery);